MacBinary | 1992-01-27 | 6.8 KB | [TEXT/CCL2] |
Confidence | Program | Detection | Match Type | Support |
---|---|---|---|---|
1% | dexvert | MacBinary (archive/macBinary) | fallback | Supported |
1% | dexvert | Text File (text/txt) | fallback | Supported |
100% | file | MacBinary II, inited, Mon Jan 27 17:45:41 1992, modified Mon Jan 27 17:45:41 1992, creator Common Lisp 2, type ASCII, 6222 bytes "Menus-u.lisp" , at 0x18ce 442 bytes resource | default (weak) | |
99% | file | data | default | |
74% | TrID | Macintosh plain text (MacBinary) | default | |
25% | TrID | MacBinary 2 | default (weak) | |
100% | dearkID | deark: macbinary | default | |
100% | siegfried | fmt/1762 MacBinary (II) | default | |
100% | lsar | MacBinary | default |
id metadata | |
---|---|
key | value |
macFileType | [TEXT] |
macFileCreator | [CCL2] |
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0c 4d 65 6e 75 73 2d | 75 2e 6c 69 73 70 00 00 |..Menus-|u.lisp..|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 43 4c | 32 01 00 00 00 00 00 00 |.TEXTCCL|2.......|
|00000050| 00 00 00 00 00 18 4e 00 | 00 01 ba a5 aa 3c 15 a5 |......N.|.....<..|
|00000060| aa 3c 15 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.<......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 d0 47 00 00 |........|.....G..|
|00000080| 28 69 6e 2d 70 61 63 6b | 61 67 65 20 3a 6f 6f 75 |(in-pack|age :oou|
|00000090| 29 0d 28 6f 6f 75 2d 70 | 72 6f 76 69 64 65 20 3a |).(oou-p|rovide :|
|000000a0| 4d 65 6e 75 73 2d 75 29 | 0d 3b 3b 3b 3b 3b 3b 3b |Menus-u)|.;;;;;;;|
|000000b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000e0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 0d |;;;;;;;;|;;;;;;;.|
|000000f0| 3b 3b 20 4d 65 6e 75 73 | 2d 75 2e 4c 69 73 70 0d |;; Menus|-u.Lisp.|
|00000100| 3b 3b 0d 3b 3b 20 43 6f | 70 79 72 69 67 68 74 20 |;;.;; Co|pyright |
|00000110| a9 20 31 39 39 31 20 4e | 6f 72 74 68 77 65 73 74 |. 1991 N|orthwest|
|00000120| 65 72 6e 20 55 6e 69 76 | 65 72 73 69 74 79 20 49 |ern Univ|ersity I|
|00000130| 6e 73 74 69 74 75 74 65 | 20 66 6f 72 20 74 68 65 |nstitute| for the|
|00000140| 20 4c 65 61 72 6e 69 6e | 67 20 53 63 69 65 6e 63 | Learnin|g Scienc|
|00000150| 65 73 0d 3b 3b 20 41 6c | 6c 20 52 69 67 68 74 73 |es.;; Al|l Rights|
|00000160| 20 52 65 73 65 72 76 65 | 64 0d 3b 3b 0d 3b 3b 20 | Reserve|d.;;.;; |
|00000170| 61 75 74 68 6f 72 3a 20 | 4d 69 63 68 61 65 6c 20 |author: |Michael |
|00000180| 53 2e 20 45 6e 67 62 65 | 72 0d 3b 3b 0d 3b 3b 20 |S. Engbe|r.;;.;; |
|00000190| 75 74 69 6c 69 74 69 65 | 73 20 66 6f 72 20 6d 65 |utilitie|s for me|
|000001a0| 6e 75 73 0d 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |nus.;;;;|;;;;;;;;|
|000001b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000001c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000001d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000001e0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 0d 0d 28 6f 6f 75 |;;;;;;;;|;;..(oou|
|000001f0| 2d 64 65 70 65 6e 64 65 | 6e 63 69 65 73 0d 20 29 |-depende|ncies. )|
|00000200| 0d 0d 28 65 78 70 6f 72 | 74 20 27 28 73 65 6c 65 |..(expor|t '(sele|
|00000210| 63 74 2d 69 74 65 6d 2d | 66 72 6f 6d 2d 70 75 70 |ct-item-|from-pup|
|00000220| 20 70 75 70 2d 61 72 72 | 6f 77 2d 64 72 61 77 29 | pup-arr|ow-draw)|
|00000230| 29 0d 0d 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |)..;;;;;|;;;;;;;;|
|00000240| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000250| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000260| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000270| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 0d 3b 3b 20 70 6f 70 |;;;;;;;;|;.;; pop|
|00000280| 2d 75 70 20 6d 65 6e 75 | 20 66 75 6e 63 74 69 6f |-up menu| functio|
|00000290| 6e 73 0d 0d 28 64 65 66 | 75 6e 20 70 75 70 2d 61 |ns..(def|un pup-a|
|000002a0| 72 72 6f 77 2d 64 72 61 | 77 20 28 72 65 63 74 20 |rrow-dra|w (rect |
|000002b0| 26 6b 65 79 20 28 77 69 | 64 74 68 20 31 30 29 20 |&key (wi|dth 10) |
|000002c0| 28 72 69 67 68 74 2d 69 | 6e 64 65 6e 74 20 34 29 |(right-i|ndent 4)|
|000002d0| 29 0d 20 20 28 23 5f 4d | 6f 76 65 54 6f 20 28 2d |). (#_M|oveTo (-|
|000002e0| 20 28 70 72 65 66 20 72 | 65 63 74 20 3a 52 65 63 | (pref r|ect :Rec|
|000002f0| 74 2e 72 69 67 68 74 29 | 20 77 69 64 74 68 20 72 |t.right)| width r|
|00000300| 69 67 68 74 2d 69 6e 64 | 65 6e 74 29 0d 20 20 20 |ight-ind|ent). |
|00000310| 28 66 6c 6f 6f 72 20 28 | 2d 20 28 2b 20 28 70 72 |(floor (|- (+ (pr|
|00000320| 65 66 20 72 65 63 74 20 | 3a 52 65 63 74 2e 74 6f |ef rect |:Rect.to|
|00000330| 70 29 20 28 70 72 65 66 | 20 72 65 63 74 20 3a 52 |p) (pref| rect :R|
|00000340| 65 63 74 2e 62 6f 74 74 | 6f 6d 29 29 20 28 63 65 |ect.bott|om)) (ce|
|00000350| 69 6c 69 6e 67 20 77 69 | 64 74 68 20 32 29 29 20 |iling wi|dth 2)) |
|00000360| 32 29 29 0d 20 20 28 6c | 6f 6f 70 0d 20 20 20 20 |2)). (l|oop. |
|00000370| 28 23 5f 4c 69 6e 65 20 | 77 69 64 74 68 20 30 29 |(#_Line |width 0)|
|00000380| 0d 20 20 20 20 28 64 65 | 63 66 20 77 69 64 74 68 |. (de|cf width|
|00000390| 29 0d 20 20 20 20 28 23 | 5f 4d 6f 76 65 20 28 2d |). (#|_Move (-|
|000003a0| 20 77 69 64 74 68 29 20 | 31 29 0d 20 20 20 20 28 | width) |1). (|
|000003b0| 64 65 63 66 20 77 69 64 | 74 68 29 0d 20 20 20 20 |decf wid|th). |
|000003c0| 28 77 68 65 6e 20 28 6d | 69 6e 75 73 70 20 77 69 |(when (m|inusp wi|
|000003d0| 64 74 68 29 20 28 72 65 | 74 75 72 6e 29 29 29 29 |dth) (re|turn))))|
|000003e0| 0d 0d 0d 28 64 65 66 75 | 6e 20 73 65 6c 65 63 74 |...(defu|n select|
|000003f0| 2d 69 74 65 6d 2d 66 72 | 6f 6d 2d 70 75 70 20 28 |-item-fr|om-pup (|
|00000400| 69 74 65 6d 2d 6c 69 73 | 74 20 20 20 20 20 20 20 |item-lis|t |
|00000410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000420| 20 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | . | |
|00000430| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 26 | | &|
|00000440| 6b 65 79 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |key. | |
|00000450| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000460| 20 28 77 68 65 72 65 20 | 28 25 73 74 61 63 6b 2d | (where |(%stack-|
|00000470| 62 6c 6f 63 6b 20 28 28 | 70 20 34 29 29 0d 20 20 |block ((|p 4)). |
|00000480| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000490| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000004a0| 20 20 20 20 28 23 5f 47 | 65 74 4d 6f 75 73 65 20 | (#_G|etMouse |
|000004b0| 70 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |p). | |
|000004c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000004d0| 20 20 20 20 20 20 20 20 | 20 28 23 5f 4c 6f 63 61 | | (#_Loca|
|000004e0| 6c 54 6f 47 6c 6f 62 61 | 6c 20 70 29 0d 20 20 20 |lToGloba|l p). |
|000004f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000500| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000510| 20 20 20 28 25 67 65 74 | 2d 70 6f 69 6e 74 20 70 | (%get|-point p|
|00000520| 29 29 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |))). | |
|00000530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000540| 20 28 64 65 66 61 75 6c | 74 2d 69 74 65 6d 20 30 | (defaul|t-item 0|
|00000550| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00000560| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (|
|00000570| 63 68 65 63 6b 65 64 2d | 69 74 65 6d 73 20 6e 69 |checked-|items ni|
|00000580| 6c 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |l). | |
|00000590| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000005a0| 28 6f 74 68 65 72 2d 70 | 20 6e 69 6c 29 0d 20 20 |(other-p| nil). |
|000005b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000005c0| 20 20 20 20 20 20 20 20 | 20 20 20 28 74 65 73 74 | | (test|
|000005d0| 20 27 65 71 6c 29 0d 20 | 20 20 20 20 20 20 20 20 | 'eql). | |
|000005e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000005f0| 20 20 20 20 28 69 74 65 | 6d 2d 74 6f 2d 73 74 72 | (ite|m-to-str|
|00000600| 69 6e 67 2d 66 6e 20 27 | 70 72 69 6e 63 2d 74 6f |ing-fn '|princ-to|
|00000610| 2d 73 74 72 69 6e 67 29 | 0d 20 20 20 20 20 20 20 |-string)|. |
|00000620| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000630| 20 20 20 20 20 20 28 68 | 69 65 72 2d 70 2d 66 6e | (h|ier-p-fn|
|00000640| 20 6e 69 6c 29 0d 20 20 | 20 20 20 20 20 20 20 20 | nil). | |
|00000650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000660| 20 20 20 28 68 69 65 72 | 2d 69 74 65 6d 73 2d 66 | (hier|-items-f|
|00000670| 6e 20 6e 69 6c 29 0d 20 | 20 20 20 20 20 20 20 20 |n nil). | |
|00000680| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000690| 20 20 20 20 28 68 69 65 | 72 2d 70 61 72 65 6e 74 | (hie|r-parent|
|000006a0| 2d 66 6e 20 6e 69 6c 29 | 0d 20 20 20 20 20 20 20 |-fn nil)|. |
|000006b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000006c0| 20 20 20 20 20 20 28 68 | 69 65 72 2d 73 65 6c 65 | (h|ier-sele|
|000006d0| 63 74 2d 70 20 74 29 29 | 0d 20 20 28 6c 65 74 20 |ct-p t))|. (let |
|000006e0| 28 28 73 75 62 2d 69 64 | 2d 63 6e 74 20 30 29 0d |((sub-id|-cnt 0).|
|000006f0| 20 20 20 20 20 20 20 20 | 28 6d 2d 61 6c 69 73 74 | |(m-alist|
|00000700| 20 6e 69 6c 29 29 0d 20 | 20 20 20 28 77 69 74 68 | nil)). | (with|
|00000710| 2d 70 73 74 72 73 20 28 | 28 64 61 6e 51 75 61 79 |-pstrs (|(danQuay|
|00000720| 6c 65 20 22 20 22 29 29 | 0d 20 20 20 20 20 20 28 |le " "))|. (|
|00000730| 6c 61 62 65 6c 73 20 28 | 28 6e 65 77 2d 69 64 20 |labels (|(new-id |
|00000740| 28 73 75 62 2d 6d 65 6e | 75 2d 70 29 0d 20 20 20 |(sub-men|u-p). |
|00000750| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000760| 20 20 20 20 28 6c 65 74 | 20 28 28 69 64 20 28 69 | (let| ((id (i|
|00000770| 66 20 73 75 62 2d 6d 65 | 6e 75 2d 70 0d 20 20 20 |f sub-me|nu-p. |
|00000780| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000790| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000007a0| 28 69 66 20 28 3c 20 73 | 75 62 2d 69 64 2d 63 6e |(if (< s|ub-id-cn|
|000007b0| 74 20 32 33 35 29 0d 20 | 20 20 20 20 20 20 20 20 |t 235). | |
|000007c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000007d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 69 6e 63 | | (inc|
|000007e0| 66 20 73 75 62 2d 69 64 | 2d 63 6e 74 29 0d 20 20 |f sub-id|-cnt). |
|000007f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000800| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000810| 20 20 20 28 65 72 72 6f | 72 20 22 6e 6f 20 61 76 | (erro|r "no av|
|00000820| 61 69 6c 61 62 6c 65 20 | 73 75 62 2d 6d 65 6e 75 |ailable |sub-menu|
|00000830| 2d 69 64 27 73 20 28 72 | 61 6e 67 65 20 31 2d 32 |-id's (r|ange 1-2|
|00000840| 33 35 29 22 29 29 0d 20 | 20 20 20 20 20 20 20 20 |35)")). | |
|00000850| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000860| 20 20 20 20 20 20 20 20 | 20 20 28 23 5f 55 6e 69 | | (#_Uni|
|00000870| 71 75 65 49 44 20 22 4d | 45 4e 55 22 29 29 29 29 |queID "M|ENU"))))|
|00000880| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000890| 20 20 20 20 20 20 20 20 | 20 20 28 69 66 20 28 25 | | (if (%|
|000008a0| 6e 75 6c 6c 2d 70 74 72 | 2d 70 20 28 23 5f 47 65 |null-ptr|-p (#_Ge|
|000008b0| 74 4d 48 61 6e 64 6c 65 | 20 69 64 29 29 20 69 64 |tMHandle| id)) id|
|000008c0| 20 28 6e 65 77 2d 69 64 | 20 73 75 62 2d 6d 65 6e | (new-id| sub-men|
|000008d0| 75 2d 70 29 29 29 29 0d | 20 20 20 20 20 20 20 20 |u-p)))).| |
|000008e0| 20 20 20 20 20 20 20 28 | 6d 61 6b 65 2d 6d 65 6e | (|make-men|
|000008f0| 75 20 28 69 74 65 6d 2d | 6c 69 73 74 20 73 75 62 |u (item-|list sub|
|00000900| 2d 6d 65 6e 75 2d 70 29 | 0d 20 20 20 20 20 20 20 |-menu-p)|. |
|00000910| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000920| 20 20 20 28 6c 65 74 20 | 28 28 6d 65 6e 75 2d 69 | (let |((menu-i|
|00000930| 64 20 28 6e 65 77 2d 69 | 64 20 73 75 62 2d 6d 65 |d (new-i|d sub-me|
|00000940| 6e 75 2d 70 29 29 29 0d | 20 20 20 20 20 20 20 20 |nu-p))).| |
|00000950| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000960| 20 20 20 20 28 77 69 74 | 68 2d 6d 61 63 70 74 72 | (wit|h-macptr|
|00000970| 73 20 28 28 6d 65 6e 75 | 5f 68 20 28 23 5f 4e 65 |s ((menu|_h (#_Ne|
|00000980| 77 4d 65 6e 75 20 6d 65 | 6e 75 2d 69 64 20 64 61 |wMenu me|nu-id da|
|00000990| 6e 51 75 61 79 6c 65 29 | 29 29 0d 20 20 20 20 20 |nQuayle)|)). |
|000009a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009b0| 20 20 20 20 20 20 20 20 | 20 28 6c 65 74 20 28 28 | | (let ((|
|000009c0| 69 20 31 29 29 0d 20 20 | 20 20 20 20 20 20 20 20 |i 1)). | |
|000009d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000009e0| 20 20 20 20 20 20 28 64 | 6f 6c 69 73 74 20 28 69 | (d|olist (i|
|000009f0| 74 65 6d 20 69 74 65 6d | 2d 6c 69 73 74 29 0d 20 |tem item|-list). |
|00000a00| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a20| 20 28 6c 65 74 20 28 28 | 68 69 65 72 2d 70 20 28 | (let ((|hier-p (|
|00000a30| 61 6e 64 20 68 69 65 72 | 2d 70 2d 66 6e 20 28 66 |and hier|-p-fn (f|
|00000a40| 75 6e 63 61 6c 6c 20 68 | 69 65 72 2d 70 2d 66 6e |uncall h|ier-p-fn|
|00000a50| 20 69 74 65 6d 29 29 29 | 29 0d 20 20 20 20 20 20 | item)))|). |
|00000a60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 77 | | (w|
|00000a80| 69 74 68 2d 70 73 74 72 | 73 20 28 28 74 69 74 6c |ith-pstr|s ((titl|
|00000a90| 65 5f 70 20 28 66 75 6e | 63 61 6c 6c 20 69 74 65 |e_p (fun|call ite|
|00000aa0| 6d 2d 74 6f 2d 73 74 72 | 69 6e 67 2d 66 6e 20 28 |m-to-str|ing-fn (|
|00000ab0| 69 66 20 68 69 65 72 2d | 70 20 28 66 75 6e 63 61 |if hier-|p (funca|
|00000ac0| 6c 6c 20 68 69 65 72 2d | 70 61 72 65 6e 74 2d 66 |ll hier-|parent-f|
|00000ad0| 6e 20 69 74 65 6d 29 20 | 69 74 65 6d 29 29 29 29 |n item) |item))))|
|00000ae0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000af0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b00| 20 20 20 20 20 20 20 28 | 23 5f 41 70 70 65 6e 64 | (|#_Append|
|00000b10| 4d 65 6e 75 20 6d 65 6e | 75 5f 68 20 64 61 6e 51 |Menu men|u_h danQ|
|00000b20| 75 61 79 6c 65 29 0d 20 | 20 20 20 20 20 20 20 20 |uayle). | |
|00000b30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 23 5f | | (#_|
|00000b50| 53 65 74 49 74 65 6d 20 | 6d 65 6e 75 5f 68 20 69 |SetItem |menu_h i|
|00000b60| 20 74 69 74 6c 65 5f 70 | 29 0d 20 20 20 20 20 20 | title_p|). |
|00000b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000b90| 28 77 68 65 6e 20 28 66 | 69 6e 64 20 69 74 65 6d |(when (f|ind item|
|00000ba0| 20 63 68 65 63 6b 65 64 | 2d 69 74 65 6d 73 20 3a | checked|-items :|
|00000bb0| 74 65 73 74 20 74 65 73 | 74 29 20 28 23 5f 43 68 |test tes|t) (#_Ch|
|00000bc0| 65 63 6b 49 74 65 6d 20 | 6d 65 6e 75 5f 68 20 69 |eckItem |menu_h i|
|00000bd0| 20 74 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 | t)). | |
|00000be0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000bf0| 20 20 20 20 20 20 20 20 | 20 20 20 28 77 68 65 6e | | (when|
|00000c00| 20 68 69 65 72 2d 70 0d | 20 20 20 20 20 20 20 20 | hier-p.| |
|00000c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000c20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000c30| 28 23 5f 53 65 74 49 74 | 65 6d 43 6d 64 20 20 6d |(#_SetIt|emCmd m|
|00000c40| 65 6e 75 5f 68 20 69 20 | 28 63 6f 64 65 2d 63 68 |enu_h i |(code-ch|
|00000c50| 61 72 20 23 24 68 4d 65 | 6e 75 43 6d 64 29 29 0d |ar #$hMe|nuCmd)).|
|00000c60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000c70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000c80| 20 20 20 20 20 20 20 20 | 28 23 5f 53 65 74 49 74 | |(#_SetIt|
|00000c90| 65 6d 4d 61 72 6b 20 6d | 65 6e 75 5f 68 20 69 20 |emMark m|enu_h i |
|00000ca0| 28 63 6f 64 65 2d 63 68 | 61 72 20 28 6d 61 6b 65 |(code-ch|ar (make|
|00000cb0| 2d 6d 65 6e 75 20 28 66 | 75 6e 63 61 6c 6c 20 68 |-menu (f|uncall h|
|00000cc0| 69 65 72 2d 69 74 65 6d | 73 2d 66 6e 20 69 74 65 |ier-item|s-fn ite|
|00000cd0| 6d 29 20 74 29 29 29 29 | 29 29 0d 20 20 20 20 20 |m) t))))|)). |
|00000ce0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000cf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 23 5f | | (#_|
|00000d00| 49 6e 73 65 72 74 4d 65 | 6e 75 20 6d 65 6e 75 5f |InsertMe|nu menu_|
|00000d10| 68 20 23 24 68 69 65 72 | 4d 65 6e 75 29 0d 20 20 |h #$hier|Menu). |
|00000d20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000d30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000d40| 28 69 6e 63 66 20 69 29 | 29 0d 20 20 20 20 20 20 |(incf i)|). |
|00000d50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000d60| 20 20 20 20 20 20 20 20 | 20 20 28 73 65 74 66 20 | | (setf |
|00000d70| 6d 2d 61 6c 69 73 74 20 | 28 61 63 6f 6e 73 20 6d |m-alist |(acons m|
|00000d80| 65 6e 75 2d 69 64 20 69 | 74 65 6d 2d 6c 69 73 74 |enu-id i|tem-list|
|00000d90| 20 6d 2d 61 6c 69 73 74 | 29 29 0d 20 20 20 20 20 | m-alist|)). |
|00000da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000db0| 20 20 20 20 20 20 20 20 | 20 20 20 6d 65 6e 75 2d | | menu-|
|00000dc0| 69 64 29 29 29 29 29 0d | 20 20 20 20 20 20 20 20 |id))))).| |
|00000dd0| 28 64 65 63 6c 61 72 65 | 20 28 64 79 6e 61 6d 69 |(declare| (dynami|
|00000de0| 63 2d 65 78 74 65 6e 74 | 20 23 27 6e 65 77 2d 69 |c-extent| #'new-i|
|00000df0| 64 20 23 27 6d 61 6b 65 | 2d 6d 65 6e 75 29 29 0d |d #'make|-menu)).|
|00000e00| 20 20 20 20 20 20 20 20 | 0d 20 20 20 20 20 20 20 | |. |
|00000e10| 20 28 75 6e 77 69 6e 64 | 2d 70 72 6f 74 65 63 74 | (unwind|-protect|
|00000e20| 0d 20 20 20 20 20 20 20 | 20 20 20 28 77 69 74 68 |. | (with|
|00000e30| 2d 6d 61 63 70 74 72 73 | 20 28 28 6d 65 6e 75 5f |-macptrs| ((menu_|
|00000e40| 68 20 28 23 5f 47 65 74 | 4d 48 61 6e 64 6c 65 20 |h (#_Get|MHandle |
|00000e50| 28 6d 61 6b 65 2d 6d 65 | 6e 75 20 69 74 65 6d 2d |(make-me|nu item-|
|00000e60| 6c 69 73 74 20 6e 69 6c | 29 29 29 29 0d 20 20 20 |list nil|)))). |
|00000e70| 20 20 20 20 20 20 20 20 | 20 0d 20 20 20 20 20 20 | | . |
|00000e80| 20 20 20 20 20 20 28 77 | 68 65 6e 20 6f 74 68 65 | (w|hen othe|
|00000e90| 72 2d 70 20 28 77 69 74 | 68 2d 70 73 74 72 73 20 |r-p (wit|h-pstrs |
|00000ea0| 28 28 64 61 73 68 65 73 | 20 22 28 2d 22 29 0d 20 |((dashes| "(-"). |
|00000eb0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ec0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ed0| 20 20 20 20 20 20 28 74 | 69 74 6c 65 20 22 4f 74 | (t|itle "Ot|
|00000ee0| 68 65 72 c9 22 29 29 0d | 20 20 20 20 20 20 20 20 |her.")).| |
|00000ef0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000f00| 20 20 20 20 28 23 5f 41 | 70 70 65 6e 64 4d 65 6e | (#_A|ppendMen|
|00000f10| 75 20 6d 65 6e 75 5f 68 | 20 64 61 73 68 65 73 29 |u menu_h| dashes)|
|00000f20| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000f30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 23 5f | | (#_|
|00000f40| 41 70 70 65 6e 64 4d 65 | 6e 75 20 6d 65 6e 75 5f |AppendMe|nu menu_|
|00000f50| 68 20 74 69 74 6c 65 29 | 29 29 0d 20 20 20 20 20 |h title)|)). |
|00000f60| 20 20 20 20 20 20 20 0d | 20 20 20 20 20 20 20 20 | .| |
|00000f70| 20 20 20 20 3b 3b 46 6c | 75 73 68 45 76 65 6e 74 | ;;Fl|ushEvent|
|00000f80| 73 20 69 73 20 6e 65 65 | 64 65 64 20 69 6e 20 63 |s is nee|ded in c|
|00000f90| 61 73 65 20 77 65 27 72 | 65 20 6e 6f 74 20 63 61 |ase we'r|e not ca|
|00000fa0| 6c 6c 65 64 20 66 72 6f | 6d 20 65 76 65 6e 74 20 |lled fro|m event |
|00000fb0| 70 72 6f 63 65 73 73 69 | 6e 67 0d 20 20 20 20 20 |processi|ng. |
|00000fc0| 20 20 20 20 20 20 20 3b | 3b 20 28 65 2e 67 2e 20 | ;|; (e.g. |
|00000fd0| 73 6f 6d 65 20 6f 6e 65 | 20 74 72 69 65 73 20 75 |some one| tries u|
|00000fe0| 73 20 6f 75 74 20 62 79 | 20 74 79 70 69 6e 67 20 |s out by| typing |
|00000ff0| 69 6e 74 6f 20 74 68 65 | 20 6c 69 73 74 65 6e 65 |into the| listene|
|00001000| 72 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 28 |r). | (|
|00001010| 75 6e 6c 65 73 73 20 28 | 62 6f 75 6e 64 70 20 27 |unless (|boundp '|
|00001020| 2a 63 75 72 72 65 6e 74 | 2d 65 76 65 6e 74 2a 29 |*current|-event*)|
|00001030| 20 28 23 5f 46 6c 75 73 | 68 45 76 65 6e 74 73 20 | (#_Flus|hEvents |
|00001040| 23 24 6d 44 6f 77 6e 4d | 61 73 6b 20 30 29 29 0d |#$mDownM|ask 0)).|
|00001050| 20 20 20 20 20 20 20 20 | 20 20 20 20 0d 20 20 20 | | . |
|00001060| 20 20 20 20 20 20 20 20 | 20 28 6c 65 74 20 28 28 | | (let ((|
|00001070| 73 65 6c 2d 63 6f 64 65 | 20 28 77 69 74 68 2d 63 |sel-code| (with-c|
|00001080| 75 72 73 6f 72 20 2a 61 | 72 72 6f 77 2d 63 75 72 |ursor *a|rrow-cur|
|00001090| 73 6f 72 2a 0d 20 20 20 | 20 20 20 20 20 20 20 20 |sor*. | |
|000010a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000010b0| 20 20 20 28 23 5f 50 6f | 70 55 70 4d 65 6e 75 53 | (#_Po|pUpMenuS|
|000010c0| 65 6c 65 63 74 20 6d 65 | 6e 75 5f 68 20 28 70 6f |elect me|nu_h (po|
|000010d0| 69 6e 74 2d 76 20 77 68 | 65 72 65 29 20 28 70 6f |int-v wh|ere) (po|
|000010e0| 69 6e 74 2d 68 20 77 68 | 65 72 65 29 20 28 31 2b |int-h wh|ere) (1+|
|000010f0| 20 64 65 66 61 75 6c 74 | 2d 69 74 65 6d 29 29 29 | default|-item)))|
|00001100| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |)). | |
|00001110| 20 28 77 68 65 6e 20 28 | 61 6e 64 20 28 7a 65 72 | (when (|and (zer|
|00001120| 6f 70 20 73 65 6c 2d 63 | 6f 64 65 29 20 68 69 65 |op sel-c|ode) hie|
|00001130| 72 2d 73 65 6c 65 63 74 | 2d 70 29 20 28 73 65 74 |r-select|-p) (set|
|00001140| 66 20 73 65 6c 2d 63 6f | 64 65 20 28 23 5f 4d 65 |f sel-co|de (#_Me|
|00001150| 6e 75 43 68 6f 69 63 65 | 29 29 29 0d 20 20 20 20 |nuChoice|))). |
|00001160| 20 20 20 20 20 20 20 20 | 20 20 28 6c 65 74 2a 20 | | (let* |
|00001170| 28 28 73 65 6c 2d 6d 65 | 6e 75 2d 69 64 20 20 20 |((sel-me|nu-id |
|00001180| 28 23 5f 48 69 57 6f 72 | 64 20 73 65 6c 2d 63 6f |(#_HiWor|d sel-co|
|00001190| 64 65 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |de)). | |
|000011a0| 20 20 20 20 20 20 20 20 | 20 20 28 73 65 6c 2d 69 | | (sel-i|
|000011b0| 74 65 6d 2d 6e 6f 20 20 | 20 28 23 5f 4c 6f 57 6f |tem-no | (#_LoWo|
|000011c0| 72 64 20 73 65 6c 2d 63 | 6f 64 65 29 29 0d 20 20 |rd sel-c|ode)). |
|000011d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000011e0| 20 20 20 28 73 65 6c 2d | 69 74 65 6d 2d 6c 69 73 | (sel-|item-lis|
|000011f0| 74 20 28 72 65 73 74 20 | 28 61 73 73 6f 63 20 73 |t (rest |(assoc s|
|00001200| 65 6c 2d 6d 65 6e 75 2d | 69 64 20 6d 2d 61 6c 69 |el-menu-|id m-ali|
|00001210| 73 74 29 29 29 29 0d 20 | 20 20 20 20 20 20 20 20 |st)))). | |
|00001220| 20 20 20 20 20 20 20 28 | 63 6f 6e 64 20 28 28 7a | (|cond ((z|
|00001230| 65 72 6f 70 20 73 65 6c | 2d 69 74 65 6d 2d 6e 6f |erop sel|-item-no|
|00001240| 29 20 28 76 61 6c 75 65 | 73 20 6e 69 6c 20 6e 69 |) (value|s nil ni|
|00001250| 6c 29 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |l)). | |
|00001260| 20 20 20 20 20 20 20 20 | 20 20 28 28 3c 3d 20 73 | | ((<= s|
|00001270| 65 6c 2d 69 74 65 6d 2d | 6e 6f 20 28 6c 65 6e 67 |el-item-|no (leng|
|00001280| 74 68 20 73 65 6c 2d 69 | 74 65 6d 2d 6c 69 73 74 |th sel-i|tem-list|
|00001290| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |)). | |
|000012a0| 20 20 20 20 20 20 20 20 | 20 20 28 6c 65 74 20 28 | | (let (|
|000012b0| 28 73 65 6c 2d 69 74 65 | 6d 20 28 65 6c 74 20 73 |(sel-ite|m (elt s|
|000012c0| 65 6c 2d 69 74 65 6d 2d | 6c 69 73 74 20 28 31 2d |el-item-|list (1-|
|000012d0| 20 73 65 6c 2d 69 74 65 | 6d 2d 6e 6f 29 29 29 29 | sel-ite|m-no))))|
|000012e0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000012f0| 20 20 20 20 20 20 20 20 | 20 20 28 76 61 6c 75 65 | | (value|
|00001300| 73 20 28 69 66 20 28 61 | 6e 64 20 68 69 65 72 2d |s (if (a|nd hier-|
|00001310| 70 2d 66 6e 20 28 66 75 | 6e 63 61 6c 6c 20 68 69 |p-fn (fu|ncall hi|
|00001320| 65 72 2d 70 2d 66 6e 20 | 73 65 6c 2d 69 74 65 6d |er-p-fn |sel-item|
|00001330| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |)). | |
|00001340| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001350| 20 20 20 20 20 20 28 66 | 75 6e 63 61 6c 6c 20 68 | (f|uncall h|
|00001360| 69 65 72 2d 70 61 72 65 | 6e 74 2d 66 6e 20 73 65 |ier-pare|nt-fn se|
|00001370| 6c 2d 69 74 65 6d 29 0d | 20 20 20 20 20 20 20 20 |l-item).| |
|00001380| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001390| 20 20 20 20 20 20 20 20 | 20 20 20 73 65 6c 2d 69 | | sel-i|
|000013a0| 74 65 6d 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |tem). | |
|000013b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000013c0| 20 20 20 20 20 20 28 31 | 2d 20 73 65 6c 2d 69 74 | (1|- sel-it|
|000013d0| 65 6d 2d 6e 6f 29 29 29 | 29 0d 20 20 20 20 20 20 |em-no)))|). |
|000013e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000013f0| 28 28 3d 20 73 65 6c 2d | 69 74 65 6d 2d 6e 6f 20 |((= sel-|item-no |
|00001400| 28 2b 20 32 20 28 6c 65 | 6e 67 74 68 20 73 65 6c |(+ 2 (le|ngth sel|
|00001410| 2d 69 74 65 6d 2d 6c 69 | 73 74 29 29 29 20 28 76 |-item-li|st))) (v|
|00001420| 61 6c 75 65 73 20 3a 6f | 74 68 65 72 20 6e 69 6c |alues :o|ther nil|
|00001430| 29 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |)). | |
|00001440| 20 20 20 20 20 20 20 20 | 20 28 74 20 28 76 61 6c | | (t (val|
|00001450| 75 65 73 20 6e 69 6c 20 | 6e 69 6c 29 29 29 29 29 |ues nil |nil)))))|
|00001460| 29 0d 20 20 20 20 20 20 | 20 20 20 20 0d 20 20 20 |). | . |
|00001470| 20 20 20 20 20 20 20 28 | 64 6f 6c 69 73 74 20 28 | (|dolist (|
|00001480| 69 20 6d 2d 61 6c 69 73 | 74 29 0d 20 20 20 20 20 |i m-alis|t). |
|00001490| 20 20 20 20 20 20 20 28 | 23 5f 44 65 6c 65 74 65 | (|#_Delete|
|000014a0| 4d 65 6e 75 20 28 66 69 | 72 73 74 20 69 29 29 0d |Menu (fi|rst i)).|
|000014b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 28 23 5f 44 | | (#_D|
|000014c0| 69 73 70 6f 73 65 4d 65 | 6e 75 20 28 23 5f 47 65 |isposeMe|nu (#_Ge|
|000014d0| 74 4d 48 61 6e 64 6c 65 | 20 28 66 69 72 73 74 20 |tMHandle| (first |
|000014e0| 69 29 29 29 29 29 29 29 | 29 29 0d 0d 3b 3b 3b 3b |i)))))))|))..;;;;|
|000014f0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00001500| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00001510| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00001520| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00001530| 3b 3b 0d 0d 23 7c 0d 0d | 0d 3b 73 69 6d 70 6c 65 |;;..#|..|.;simple|
|00001540| 20 65 78 61 6d 70 6c 65 | 0d 28 6c 6f 6f 70 0d 20 | example|.(loop. |
|00001550| 20 28 77 68 65 6e 20 28 | 6d 6f 75 73 65 2d 64 6f | (when (|mouse-do|
|00001560| 77 6e 2d 70 29 20 0d 20 | 20 20 20 28 77 69 74 68 |wn-p) . | (with|
|00001570| 6f 75 74 2d 69 6e 74 65 | 72 72 75 70 74 73 20 0d |out-inte|rrupts .|
|00001580| 20 20 20 20 20 28 72 65 | 74 75 72 6e 20 28 73 65 | (re|turn (se|
|00001590| 6c 65 63 74 2d 69 74 65 | 6d 2d 66 72 6f 6d 2d 70 |lect-ite|m-from-p|
|000015a0| 75 70 20 27 28 31 20 32 | 20 33 20 34 29 20 3a 6f |up '(1 2| 3 4) :o|
|000015b0| 74 68 65 72 2d 70 20 74 | 20 3a 64 65 66 61 75 6c |ther-p t| :defaul|
|000015c0| 74 2d 69 74 65 6d 20 31 | 20 3a 63 68 65 63 6b 65 |t-item 1| :checke|
|000015d0| 64 2d 69 74 65 6d 73 20 | 27 28 31 20 33 29 29 29 |d-items |'(1 3)))|
|000015e0| 29 29 29 0d 0d 3b 69 6c | 6c 75 73 74 72 61 74 65 |)))..;il|lustrate|
|000015f0| 73 20 3a 69 74 65 6d 2d | 74 6f 2d 73 74 72 69 6e |s :item-|to-strin|
|00001600| 67 2d 66 6e 0d 28 6c 6f | 6f 70 0d 20 20 28 77 68 |g-fn.(lo|op. (wh|
|00001610| 65 6e 20 28 6d 6f 75 73 | 65 2d 64 6f 77 6e 2d 70 |en (mous|e-down-p|
|00001620| 29 20 0d 20 20 20 20 28 | 77 69 74 68 6f 75 74 2d |) . (|without-|
|00001630| 69 6e 74 65 72 72 75 70 | 74 73 20 0d 20 20 20 20 |interrup|ts . |
|00001640| 20 28 72 65 74 75 72 6e | 20 28 73 65 6c 65 63 74 | (return| (select|
|00001650| 2d 69 74 65 6d 2d 66 72 | 6f 6d 2d 70 75 70 20 27 |-item-fr|om-pup '|
|00001660| 28 28 31 31 31 31 31 20 | 3a 69 74 65 6d 31 29 20 |((11111 |:item1) |
|00001670| 28 32 32 32 32 32 20 3a | 69 74 65 6d 32 29 20 28 |(22222 :|item2) (|
|00001680| 35 35 35 35 35 20 3a 69 | 74 65 6d 33 29 29 0d 20 |55555 :i|tem3)). |
|00001690| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000016a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000016b0| 20 20 3a 69 74 65 6d 2d | 74 6f 2d 73 74 72 69 6e | :item-|to-strin|
|000016c0| 67 2d 66 6e 20 23 27 28 | 6c 61 6d 62 64 61 20 28 |g-fn #'(|lambda (|
|000016d0| 69 29 20 28 70 72 69 6e | 63 2d 74 6f 2d 73 74 72 |i) (prin|c-to-str|
|000016e0| 69 6e 67 20 28 73 65 63 | 6f 6e 64 20 69 29 29 29 |ing (sec|ond i)))|
|000016f0| 29 29 29 29 29 0d 0d 0d | 3b 3b 65 78 61 6d 70 6c |)))))...|;;exampl|
|00001700| 65 20 6f 66 20 61 20 68 | 69 65 72 61 72 63 68 69 |e of a h|ierarchi|
|00001710| 63 61 6c 20 6d 65 6e 75 | 20 75 73 69 6e 67 20 61 |cal menu| using a|
|00001720| 20 73 69 6d 70 6c 65 20 | 74 72 65 65 20 73 74 72 | simple |tree str|
|00001730| 75 63 74 75 72 65 0d 3b | 3b 20 69 74 20 75 73 65 |ucture.;|; it use|
|00001740| 73 20 6e 65 73 74 65 64 | 20 6c 69 73 74 73 20 74 |s nested| lists t|
|00001750| 6f 20 72 65 70 72 65 73 | 65 6e 74 20 73 75 62 2d |o repres|ent sub-|
|00001760| 68 69 65 72 61 72 63 68 | 79 20 74 68 65 20 31 73 |hierarch|y the 1s|
|00001770| 74 20 65 6c 65 6d 65 6e | 74 20 62 65 69 6e 67 20 |t elemen|t being |
|00001780| 74 68 65 0d 3b 3b 20 70 | 61 72 65 6e 74 20 61 6e |the.;; p|arent an|
|00001790| 64 20 74 68 65 20 72 65 | 73 74 20 62 65 69 6e 67 |d the re|st being|
|000017a0| 20 74 68 65 20 63 68 69 | 6c 64 72 65 6e 2e 0d 28 | the chi|ldren..(|
|000017b0| 6c 6f 6f 70 0d 20 20 28 | 77 68 65 6e 20 28 6d 6f |loop. (|when (mo|
|000017c0| 75 73 65 2d 64 6f 77 6e | 2d 70 29 20 0d 20 20 20 |use-down|-p) . |
|000017d0| 20 28 77 69 74 68 6f 75 | 74 2d 69 6e 74 65 72 72 | (withou|t-interr|
|000017e0| 75 70 74 73 20 0d 20 20 | 20 20 20 28 72 65 74 75 |upts . | (retu|
|000017f0| 72 6e 20 28 73 65 6c 65 | 63 74 2d 69 74 65 6d 2d |rn (sele|ct-item-|
|00001800| 66 72 6f 6d 2d 70 75 70 | 20 27 28 31 20 32 20 28 |from-pup| '(1 2 (|
|00001810| 33 20 33 31 20 33 32 20 | 33 33 29 20 34 29 0d 20 |3 31 32 |33) 4). |
|00001820| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001840| 20 20 3a 68 69 65 72 2d | 70 2d 66 6e 20 27 6c 69 | :hier-|p-fn 'li|
|00001850| 73 74 70 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |stp. | |
|00001860| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001870| 20 20 20 20 20 20 20 3a | 68 69 65 72 2d 69 74 65 | :|hier-ite|
|00001880| 6d 73 2d 66 6e 20 27 72 | 65 73 74 0d 20 20 20 20 |ms-fn 'r|est. |
|00001890| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000018a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3a | | :|
|000018b0| 68 69 65 72 2d 70 61 72 | 65 6e 74 2d 66 6e 20 27 |hier-par|ent-fn '|
|000018c0| 66 69 72 73 74 29 29 29 | 29 29 0d 0d 7c 23 00 00 |first)))|))..|#..|
|000018d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001900| 00 00 01 00 00 00 01 68 | 00 00 00 68 00 00 00 52 |.......h|...h...R|
|00001910| 73 68 6e 65 77 20 3a 6d | 65 6e 75 2d 75 74 69 6c |shnew :m|enu-util|
|00001920| 73 20 2a 66 65 61 74 75 | 72 65 73 2a 29 61 79 73 |s *featu|res*)ays|
|00001930| 0c 4d 65 6e 75 73 2d 75 | 2e 6c 69 73 70 7d 02 00 |.Menus-u|.lisp}..|
|00001940| 00 00 54 45 58 54 43 43 | 4c 32 01 00 00 50 00 00 |..TEXTCC|L2...P..|
|00001950| 00 00 54 45 58 54 43 43 | 4c 32 01 00 00 50 00 00 |..TEXTCC|L2...P..|
|00001960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001970| 00 00 a2 3f aa 41 00 00 | 18 4e 00 00 01 ba 20 68 |...?.A..|.N.... h|
|00001980| 61 76 65 20 6d 61 64 65 | 20 63 68 61 6e 67 65 73 |ave made| changes|
|00001990| 20 74 68 61 74 20 77 6f | 6e 27 74 20 74 61 6b 65 | that wo|n't take|
|000019a0| 20 65 66 66 65 63 74 20 | 75 6e 74 69 6c 20 52 65 | effect |until Re|
|000019b0| 73 74 61 72 74 2e 00 00 | 00 00 a4 00 09 00 00 00 |start...|........|
|000019c0| 00 00 8a 01 00 00 9c 01 | 50 04 04 4f 70 65 6e 00 |........|P..Open.|
|000019d0| 00 00 00 04 80 00 3b 04 | d0 00 4d 04 00 00 00 00 |......;.|..M.....|
|000019e0| 00 00 a3 01 00 00 b5 01 | 50 04 06 43 61 6e 63 65 |........|P..Cance|
|000019f0| 6c 00 00 00 00 00 27 00 | e8 00 3b 01 5b 80 00 00 |l.....'.|..;.[...|
|00001a00| 00 00 00 48 00 0a 43 6f | 75 72 69 65 72 00 7e 2c |...H..Co|urier.~,|
|00001a10| 00 01 3a bc 0a 00 01 00 | 00 00 01 e0 00 00 00 14 |..:.....|........|
|00001a20| 00 36 7e 2c 00 01 00 06 | 00 08 00 3f 00 46 02 c5 |.6~,....|...?.F..|
|00001a30| 02 ef 00 3f 00 46 02 c5 | 02 ef 3a bc 0a 00 00 00 |...?.F..|..:.....|
|00001a40| 14 b8 00 00 14 b8 00 00 | 10 83 01 00 00 00 00 0a |........|........|
|00001a50| 00 01 00 16 0a 00 01 00 | 00 00 00 00 00 0a 00 01 |........|........|
|00001a60| 07 43 6f 75 72 69 65 72 | 00 00 01 00 00 00 01 68 |.Courier|.......h|
|00001a70| 00 00 00 68 00 00 00 52 | 00 e8 e9 10 0d 98 00 00 |...h...R|........|
|00001a80| 00 1c 00 52 00 01 4d 50 | 53 52 00 00 00 12 46 52 |...R..MP|SR....FR|
|00001a90| 45 44 00 01 00 1e 03 ed | ff ff 00 00 00 00 00 ec |ED......|........|
|00001aa0| de 60 00 02 ff ff 00 00 | 00 4c 00 00 00 00 00 03 |.`......|.L......|
|00001ab0| ff ff 00 00 00 5a 00 00 | 00 00 00 00 00 00 00 00 |.....Z..|........|
|00001ac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+